]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Don't use clones' delegate to check children
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 12 Jul 2019 12:00:55 +0000 (14:00 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Mon, 9 Sep 2019 19:28:18 +0000 (19:28 +0000)
The WindowClones are now themselves actors, so we can just check for
their type instead of checking for the delegate.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/700

js/ui/workspace.js

index 5459b8baf6e9d5d224e9d338fe544b5c4e88a102..9a8c0d94db3c7426c93da2ff1ab1abe3d8f644d6 100644 (file)
@@ -83,8 +83,8 @@ class WindowCloneLayout extends Clutter.LayoutManager {
     vfunc_allocate(container, box, flags) {
         container.get_children().forEach(child => {
             let realWindow;
-            if (child == container._delegate._windowClone)
-                realWindow = container._delegate.realWindow;
+            if (child == container._windowClone)
+                realWindow = container.realWindow;
             else
                 realWindow = child.source;
 
@@ -1099,10 +1099,8 @@ const WorkspaceActor = GObject.registerClass(
 class WorkspaceActor extends St.Widget {
     vfunc_get_focus_chain() {
         return this.get_children().filter(c => c.visible).sort((a, b) => {
-            let cloneA = (a._delegate && a._delegate instanceof WindowClone) ? a._delegate : null;
-            let cloneB = (b._delegate && b._delegate instanceof WindowClone) ? b._delegate : null;
-            if (cloneA && cloneB)
-                return cloneA.slotId - cloneB.slotId;
+            if (a instanceof WindowClone && b instanceof WindowClone)
+                return a.slotId - b.slotId;
 
             return 0;
         });